﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace Ferreteria.Forms
{
    public partial class FrmEditarArtdelProv : Form
    {
        DisancoEntities context;
        private DataGridViewSelectedRowCollection articulosaEditar;
        int IdProv;

        public FrmEditarArtdelProv(DataGridViewSelectedRowCollection filasEditar,int ProvId)
        {
            InitializeComponent();
            context = new DisancoEntities(Ferreteria.Clases.Constantes.cadenaConexion);
        
            NumUpDoPrecioVta.Enabled = false;
            NumUpDowBonific.Enabled = false;
            //ckbBonifProv.Enabled = ckbBonifProv.Enabled; 
            //ckbPrecioVenta.Enabled = ckbPrecioVenta.Enabled; 
         
            articulosaEditar = filasEditar;
            IdProv = ProvId;

            if (filasEditar.Count == 1)
            {
               //antes //NumUpDoPrecioVta.Value = (decimal)filasEditar[0].Cells["art_precio_lista"].Value;
                //NumUpDowBonific.Value = (decimal)filasEditar[0].Cells["art_bonif"].Value * 100;
                this.Text = "Editar este Articulo";
                string numupbonif = (filasEditar[0].Cells[5].Value.ToString()).Substring(1);
                string numupprecio = (filasEditar[0].Cells[4].Value.ToString()).Substring(1);
               
                NumUpDoPrecioVta.Value = Convert.ToDecimal(numupprecio);
                NumUpDowBonific.Value = (Convert.ToDecimal(numupbonif))* 100;
            }
        }

        private void ckbPrecioVenta_CheckedChanged(object sender, EventArgs e)
        {
             NumUpDoPrecioVta.Enabled = true;
        }

        private void ckbBonifProv_CheckedChanged(object sender, EventArgs e)
        {
            NumUpDowBonific.Enabled = true;
        }

        private void btnCancelar_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        private void btnAceptar_Click(object sender, EventArgs e)
        {
            try
            {
               foreach (DataGridViewRow fila in articulosaEditar)
                {
                    int artId = Convert.ToInt32(fila.Cells["idarticuloc"].Value);

                    //Busco solos los articulos del Proveedor
                    CatalogoProv articulo = context.CatalogoProv.FirstOrDefault(a => a.artcid == artId & a.provid == IdProv);

                    //Se actualiza la bonificacion si esta marcada     
                    if (ckbBonifProv.Checked)
                    {
                        articulo.catalogobonifart = NumUpDowBonific.Value / 100;
                    }

                    //Se actualiza los precios de venta si esta marcado
                    if (ckbPrecioVenta.Checked)
                    {
                        articulo.catalogoprecioart = NumUpDoPrecioVta.Value;
                    }
                    
                   // anda estooo?
                    articulo.catalogopreciobon = (articulo.catalogoprecioart - (articulo.catalogobonifart * articulo.catalogoprecioart));
                   
                  
                   // lo anterior que andaba joya
                   //int artId = Convert.ToInt32(fila.Cells["art_id"].Value);
                    
                    //Busco solos los articulos del Proveedor
                    //ProveedoresxArticulos articulo = context.ProveedoresxArticulos.FirstOrDefault(a => a.art_id == artId & a.prov_id == IdProv);
                       
                     //Se actualiza la bonificacion si esta marcada     
                    //if (ckbBonifProv.Checked)
                    //{
                    //    articulo.prov_art_bonif = NumUpDowBonific.Value / 100;
                    //}

                   //Se actualiza los precios de venta si esta marcado
                    //if (ckbPrecioVenta.Checked)
                    //{
                    //    articulo.prov_art_precio = NumUpDoPrecioVta.Value;
                    //}
            
                    context.SaveChanges();
                   
                }
               
                MessageBox.Show("Datos Actualizados Correctamente");
                this.Close();
            }
            catch (Exception err)
            {
                MessageBox.Show("A ocurrido un error. El mensaje devuelto fue: " + err.ToString());
            }


        }






    }
}
